﻿//////////////////////////////////////////////////
//              ArcanistSettings.cs             //
//         Part of RebornCo by kaihaider        //
//////////////////////////////////////////////////

using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration;

namespace RebornCo.Settings
{
    public class WhiteMageSetting : CoreSetting
    {
        public WhiteMageSetting(string filename = "RebornCoSettingsWhiteMage")
            : base(filename)
        {
        }

        [Setting]
        [DefaultValue(0)]
        [Category("Conjurer")]
        public int AeroClip { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Conjurer")]
        public bool RaiseBrezOnlyWithSwift { get; set; }

        [Setting]
        [DefaultValue(true)]
        [Category("Conjurer")]
        public bool RaiseDontSwiftBrezDuringPoM { get; set; }

        [Setting]
        [DefaultValue(15D)]
        [Category("Conjurer")]
        public double RaiseSecondsofDoubleCastProtection { get; set; }

        [Setting]
        [DefaultValue(true)]
        [Category("Conjurer")]
        public bool Raise { get; set; }

        [Setting]
        [DefaultValue(true)]
        [Category("Conjurer")]
        public bool Protect { get; set; }

        [Setting]
        [DefaultValue(true)]
        [Category("Conjurer")]
        public bool CureI { get; set; }

        [Setting]
        [DefaultValue(true)]
        [Category("Conjurer")]
        public bool CureII { get; set; }

        [Setting]
        [DefaultValue(3)]
        [Category("Conjurer")]
        public int MedicaCount { get; set; }

        [Setting]
        [DefaultValue(true)]
        [Category("Conjurer")]
        public bool Medica1 { get; set; }

        [Setting]
        [DefaultValue(true)]
        [Category("Conjurer")]
        public bool Medica2 { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Conjurer")]
        public bool Medica2SloppyHotCheck { get; set; }

        [Setting]
        [DefaultValue(true)]
        [Category("Conjurer")]
        public bool MedicaOverHealPrevention { get; set; }

        [Setting]
        [DefaultValue(1)]
        [Category("Conjurer")]
        public int MedicaOverhealCount { get; set; }

        [Setting]
        [DefaultValue(true)]
        [Category("Conjurer")]
        public bool ScanForOverheal { get; set; }

        [Setting]
        [DefaultValue(3000)]
        [Category("Conjurer")]
        public int Medica2Clip { get; set; }

        [Setting]
        [DefaultValue(3000)]
        [Category("Conjurer")]
        public int RegenClip { get; set; }

        [Setting]
        [DefaultValue(55f)]
        [Category("Conjurer")]
        public float RegenCureHpPercent { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Conjurer")]
        public bool RegenMaxHpPercentUse { get; set; }

        [Setting]
        [DefaultValue(85f)]
        [Category("Conjurer")]
        public float RegenMaxHpPercent { get; set; }

        [Setting]
        [DefaultValue(35f)]
        [Category("Conjurer")]
        public float RegenMinHpPercent { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Conjurer")]
        public bool Esuna { get; set; }

        [Setting]
        [DefaultValue(3000)]
        [Category("Conjurer")]
        public int EsunaClip { get; set; }

        [Setting]
        [DefaultValue(70f)]
        [Category("White Mage")]
        public float EsunaIfNoOneBelowHp { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("Conjurer")]
        public bool EsunaBeforeHeals { get; set; }

        [Setting]
        [DefaultValue(true)]
        [Category("Conjurer")]
        public bool EsunaSpellsUsePartial { get; set; }

        [Setting]
        [DefaultValue("")]
        [Category("Conjurer")]
        public string EsunaSpells { get; set; }

        [Browsable(false)]
        public List<string> EsunaList { get; set; }

        [Setting]
        [DefaultValue(true)]
        [Category("Conjurer")]
        public bool Stoneskin { get; set; }

        [Setting]
        [DefaultValue(true)]
        [Category("Conjurer")]
        public bool AutoClericStance { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("White Mage")]
        public bool PresenceofMind { get; set; }

        [Setting]
        [DefaultValue(false)]
        [Category("White Mage")]
        public bool DivineSeal { get; set; }

        [Setting]
        [DefaultValue(true)]
        [Category("White Mage")]
        public bool OnlyBenedictionTank { get; set; }

        [Setting]
        [DefaultValue(20)]
        [Category("White Mage")]
        public float Benediction { get; set; }

    }

}